b0086768784789e0550bc58b0253d09cb2968d4a,public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/GaussianMixtureModel.java,GaussianMixtureModel,evaluateDatum,#VariantDatum#,207

Before Change


        for( final MultivariateGaussian gaussian : gaussians ) {
            pVarInGaussianLog10[gaussianIndex++] = gaussian.pMixtureLog10 + gaussian.evaluateDatumLog10( datum );
        }
        double lod = MathUtils.log10sumLog10(pVarInGaussianLog10); // Sum(pi_k * p(v|n,k))

        // Negative infinity lod values are possible when covariates are extremely far away from their tight Gaussians
        // Cap the values at an extremely negative value and spread them out randomly
        if( lod < MIN_ACCEPTABLE_LOD_SCORE ) {
            lod = MIN_ACCEPTABLE_LOD_SCORE - GenomeAnalysisEngine.getRandomGenerator().nextDouble() * MIN_ACCEPTABLE_LOD_SCORE;
        }
        return lod;
    }

    // Used only to decide which covariate dimension is most divergent in order to report in the culprit info field annotation

After Change


        for( final MultivariateGaussian gaussian : gaussians ) {
            pVarInGaussianLog10[gaussianIndex++] = gaussian.pMixtureLog10 + gaussian.evaluateDatumLog10( datum );
        }
        return MathUtils.log10sumLog10(pVarInGaussianLog10); // Sum(pi_k * p(v|n,k))
    }

    // Used only to decide which covariate dimension is most divergent in order to report in the culprit info field annotation